package com.bosssoft.goods.domain.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * 插询商品信息-spu数据对象
 * @author Fang_Sir
 * @date 2021-04-18
 */
@Getter
@Setter
public class GoodSpuDTO {
    /**
     * 商品spu编号
     */
    private long spuId;
    /**
     * 商品名称
     */
    private String name;
    /**
     * 商品品牌编号
     */
    private int brandId;
    /**
     * 商品一级分类
     */
    private int catRoot;
    /**
     * 商品二级分类
     */
    private int catFun;
    /**
     * 商品三级分类
     */
    private int catType;
    /**
     * 商品分类规格属性
     */
    private List<SpecPropDTO> props;
    /**
     * 商品spu特有规格属性参数
     */
    @JsonIgnore
    private List<SpuSpecPropDTO> spuProps;
    /**
     * 商品sku
     */
    private List<GoodSkuDTO> sku;

    public void setProps(List<SpecPropDTO> props){
        this.props = props;
        // 处理返回的商品规格属性将spu特有的参数归类
        if(this.spuProps != null && spuProps.size() > 0){
            this.props.forEach(e -> {
                e.putAttr(this.spuProps);
            });
        }
    }

    public void setSpuProps(List<SpuSpecPropDTO> spuProps) {
        this.spuProps = spuProps;
        // 处理返回的商品规格属性将spu特有的参数归类
        if(this.props != null && props.size() > 0){
            this.props.forEach(e -> {
                e.putAttr(this.spuProps);
            });
        }
    }
}
